package com.barry.pattern.adapter;

/**
 * @author Gong大神
 *	设计 {@link Tool} 有耐久度  {@code durability}，<p>
 *每次使用 {@link Tool}的<code>use()</code>方法都会使耐久度减少1，<p>
 *	耐久为0的时候则损坏不能使用<code>use()</code>方法。
 */
public class Tool implements Usable{
	/**
	 * 耐久度：<code>durability</code>
	 */
	private static int durability; 
	public Tool() {
		setDurability(100);
	}
	@Override
	public void use() {
		if (!usable()) {
			System.err.println("您的工具已经损坏。");
		}else {
			decreaseDurability();
		}
	}
	@Override
	public Boolean usable() {
		if(durability==0){
			return false;
		}else {
			
			return true;
		}
		
	}
	/**
	 * 耐久减少
	 */
	void decreaseDurability() {
		durability--;
	}
	/**
	 * @return 获取当前耐久
	 */
	public static int getDurability() {
		return durability;
	}
	/**
	 * @param 设置当前耐久
	 */
	public static void setDurability(int durability) {
		Tool.durability = durability;
	}
	

}

